/* 
联合类型（Union Types）表示取值可以为多种类型中的一种。
*/
(() => {
  let a: string|number = 'abc'
  a = 123
  // a = true  // error

  function toString(v: string|number) {
    return v.toString()
  }
  console.log(toString('abc')) // 'abc'
  console.log(toString(123)) // '123'


  // error
  /* function getLength(v: string|number) {
    if (v.length) {
      return v.length
    } else {
      return v.toString().length
    }
  } */

})()